/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.eventos.be;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
//import javax.persistence.NamedQueries;
//import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.cip.esymons.general.be.ConsejoDepartamental;

/**
 *
 * @author lizardo
 */
@Entity
@Table(name = "eca_formato_certificado")
//@NamedQueries({@NamedQuery(name = "FormatoCertificado.findAll", query = "SELECT f FROM FormatoCertificado f"), @NamedQuery(name = "FormatoCertificado.findByForCodigo", query = "SELECT f FROM FormatoCertificado f WHERE f.forCodigo = :forCodigo"), @NamedQuery(name = "FormatoCertificado.findByForNombre", query = "SELECT f FROM FormatoCertificado f WHERE f.forNombre = :forNombre"), @NamedQuery(name = "FormatoCertificado.findByForfechaCreacion", query = "SELECT f FROM FormatoCertificado f WHERE f.forfechaCreacion = :forfechaCreacion"), @NamedQuery(name = "FormatoCertificado.findByForFecha", query = "SELECT f FROM FormatoCertificado f WHERE f.forFecha = :forFecha"), @NamedQuery(name = "FormatoCertificado.findByFornumHoras", query = "SELECT f FROM FormatoCertificado f WHERE f.fornumHoras = :fornumHoras"), @NamedQuery(name = "FormatoCertificado.findByForActivo", query = "SELECT f FROM FormatoCertificado f WHERE f.forActivo = :forActivo"), @NamedQuery(name = "FormatoCertificado.findByForfechaImpresion", query = "SELECT f FROM FormatoCertificado f WHERE f.forfechaImpresion = :forfechaImpresion"), @NamedQuery(name = "FormatoCertificado.findByForDecano", query = "SELECT f FROM FormatoCertificado f WHERE f.forDecano = :forDecano")})
public class FormatoCertificado implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "for_codigo")
    private Integer forCodigo;
    @Basic(optional = false)
    @Column(name = "for_nombre")
    private String forNombre;
    @Basic(optional = false)
    @Column(name = "for_fechaCreacion")
    @Temporal(TemporalType.DATE)
    private Date forfechaCreacion;
    @Column(name = "for_numHoras")
    private Integer fornumHoras;
    @Basic(optional = false)
    @Column(name = "for_activo")
    private Boolean forActivo;
    @Basic(optional = false)
    @Column(name = "for_fechaImpresion")
    @Temporal(TemporalType.DATE)
    private Date forfechaImpresion;
    @Column(name = "for_decano")
    private String forDecano;
    @Column(name = "for_frase01")
    private String forFrase01;
    @Column(name = "for_frase02")
    private String forFrase02;
    @Column(name = "for_frase03")
    private String forFrase03;
    @Column(name = "for_frase04")
    private String forFrase04;
    @Column(name = "for_frase05")
    private String forFrase05;
    @Column(name = "for_frase06")
    private String forFrase06;
    @Column(name = "for_frase07")
    private String forFrase07;
    @Column(name = "for_frase08")
    private String forFrase08;
    @Column(name = "for_frase09")
    private String forFrase09;
    @Column(name = "for_frase10")
    private String forFrase10;
    @Column(name = "for_nombreFecha")
    private String forNombreFecha;
    @Column(name = "for_docente")
    private String forDocente;
    @Column(name = "for_tipo")
    private Integer forTipo;
    @JoinColumn(name = "eve_codigo", referencedColumnName = "eve_codigo")
    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    private Evento eveCodigo;
    @JoinColumn(name = "cde_codigo", referencedColumnName = "cde_codigo")
    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    private ConsejoDepartamental cdeCodigo;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "forCodigo", fetch = FetchType.LAZY)
    private List<EntregaCertificado> entregaCertificadoList;

    public FormatoCertificado() {
    }

    public FormatoCertificado(Integer forCodigo) {
        this.forCodigo = forCodigo;
    }

    public FormatoCertificado(Integer forCodigo, String forNombre, Date forfechaCreacion, Date forFecha, boolean forActivo, Date forfechaImpresion) {
        this.forCodigo = forCodigo;
        this.forNombre = forNombre;
        this.forfechaCreacion = forfechaCreacion;
        this.forActivo = forActivo;
        this.forfechaImpresion = forfechaImpresion;
    }

    public Integer getForCodigo() {
        return forCodigo;
    }

    public void setForCodigo(Integer forCodigo) {
        this.forCodigo = forCodigo;
    }

    public String getForNombre() {
        return forNombre;
    }

    public void setForNombre(String forNombre) {
        this.forNombre = forNombre;
    }

    public Integer getForTipo() {
        return forTipo;
    }

    public void setForTipo(Integer forTipo) {
        this.forTipo = forTipo;
    }

    public Date getForfechaCreacion() {
        return forfechaCreacion;
    }

    public void setForfechaCreacion(Date forfechaCreacion) {
        this.forfechaCreacion = forfechaCreacion;
    }

    public Integer getFornumHoras() {
        return fornumHoras;
    }
    public void setFornumHoras(Integer fornumHoras) {
        this.fornumHoras = fornumHoras;
    }

    public Boolean getForActivo() {
        return forActivo;
    }
    public void setForActivo(Boolean forActivo) {
        this.forActivo = forActivo;
    }

    public Date getForfechaImpresion() {
        return forfechaImpresion;
    }
    public void setForfechaImpresion(Date forfechaImpresion) {
        this.forfechaImpresion = forfechaImpresion;
    }

    public String getForDecano() {
        return forDecano;
    }
    public void setForDecano(String forDecano) {
        this.forDecano = forDecano;
    }

    public String getForDocente() {
        return forDocente;
    }

    public void setForDocente(String forDocente) {
        this.forDocente = forDocente;
    }

    public String getForFrase01() {
        return forFrase01;
    }

    public void setForFrase01(String forFrase01) {
        this.forFrase01 = forFrase01;
    }

    public String getForFrase02() {
        return forFrase02;
    }

    public void setForFrase02(String forFrase02) {
        this.forFrase02 = forFrase02;
    }

    public String getForFrase03() {
        return forFrase03;
    }

    public void setForFrase03(String forFrase03) {
        this.forFrase03 = forFrase03;
    }

    public String getForFrase04() {
        return forFrase04;
    }

    public void setForFrase04(String forFrase04) {
        this.forFrase04 = forFrase04;
    }

    public String getForFrase05() {
        return forFrase05;
    }

    public void setForFrase05(String forFrase05) {
        this.forFrase05 = forFrase05;
    }

    public String getForFrase06() {
        return forFrase06;
    }

    public void setForFrase06(String forFrase06) {
        this.forFrase06 = forFrase06;
    }

    public String getForFrase07() {
        return forFrase07;
    }

    public void setForFrase07(String forFrase07) {
        this.forFrase07 = forFrase07;
    }

    public String getForFrase08() {
        return forFrase08;
    }

    public void setForFrase08(String forFrase08) {
        this.forFrase08 = forFrase08;
    }

    public String getForFrase09() {
        return forFrase09;
    }

    public void setForFrase09(String forFrase09) {
        this.forFrase09 = forFrase09;
    }

    public String getForFrase10() {
        return forFrase10;
    }

    public void setForFrase10(String forFrase10) {
        this.forFrase10 = forFrase10;
    }

    public String getForNombreFecha() {
        return forNombreFecha;
    }

    public void setForNombreFecha(String forNombreFecha) {
        this.forNombreFecha = forNombreFecha;
    }

    
    
    public Evento getEveCodigo() {
        return eveCodigo;
    }

    public void setEveCodigo(Evento eveCodigo) {
        this.eveCodigo = eveCodigo;
    }

    public ConsejoDepartamental getCdeCodigo() {
        return cdeCodigo;
    }

    public void setCdeCodigo(ConsejoDepartamental cdeCodigo) {
        this.cdeCodigo = cdeCodigo;
    }

    public List<EntregaCertificado> getEntregaCertificadoList() {
        return entregaCertificadoList;
    }

    public void setEntregaCertificadoList(List<EntregaCertificado> entregaCertificadoList) {
        this.entregaCertificadoList = entregaCertificadoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (forCodigo != null ? forCodigo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof FormatoCertificado)) {
            return false;
        }
        FormatoCertificado other = (FormatoCertificado) object;
        if ((this.forCodigo == null && other.forCodigo != null) || (this.forCodigo != null && !this.forCodigo.equals(other.forCodigo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.cip.esymons.eventos.be.FormatoCertificado[forCodigo=" + forCodigo + "]";
    }

}
